{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-liveconnect",
      "artifactVersion": "2021.58.6",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.liveconnect"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect",
        "id": "grp:org.nuxeo.ecm.liveconnect",
        "name": "org.nuxeo.ecm.liveconnect",
        "parentIds": [],
        "readmes": [],
        "version": "2021.58"
      },
      "bundleId": "org.nuxeo.ecm.liveconnect",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.core.types/Contributions/org.nuxeo.ecm.liveconnect.core.types--schema",
              "id": "org.nuxeo.ecm.liveconnect.core.types--schema",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"blobconversions\" prefix=\"blobconversions\" src=\"schemas/blobconversions.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.core.types/Contributions/org.nuxeo.ecm.liveconnect.core.types--doctype",
              "id": "org.nuxeo.ecm.liveconnect.core.types--doctype",
              "registrationOrder": 11,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <facet name=\"BlobConversions\">\n      <schema name=\"blobconversions\"/>\n    </facet>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.core.types",
          "name": "org.nuxeo.ecm.liveconnect.core.types",
          "requirements": [],
          "resolutionOrder": 224,
          "services": [],
          "startOrder": 221,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.core.types\">\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"schema\">\n    <schema name=\"blobconversions\" src=\"schemas/blobconversions.xsd\" prefix=\"blobconversions\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n    <facet name=\"BlobConversions\">\n      <schema name=\"blobconversions\" />\n    </facet>\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-core-types-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.scheduler.SchedulerService--schedule",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.scheduler/Contributions/org.nuxeo.ecm.liveconnect.scheduler--schedule",
              "id": "org.nuxeo.ecm.liveconnect.scheduler--schedule",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.scheduler.SchedulerService",
                "name": "org.nuxeo.ecm.core.scheduler.SchedulerService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"schedule\" target=\"org.nuxeo.ecm.core.scheduler.SchedulerService\">\n    <schedule id=\"blobProviderDocumentUpdate\">\n      <event>blobProviderDocumentUpdateEvent</event>\n      <!-- cleanup every 30 sec  -->\n      <!-- cronExpression>0/30 * * * * ?</cronExpression-->\n      <!-- every day at 11.59 PM -->\n      <cronExpression>0 0/5 * * * ?</cronExpression>\n    </schedule>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.scheduler/Contributions/org.nuxeo.ecm.liveconnect.scheduler--listener",
              "id": "org.nuxeo.ecm.liveconnect.scheduler--listener",
              "registrationOrder": 16,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n    <listener class=\"org.nuxeo.ecm.liveconnect.update.listener.BlobProviderDocumentsUpdateListener\" name=\"blobProviderDocumentUpdate\">\n      <event>blobProviderDocumentUpdateEvent</event>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.scheduler",
          "name": "org.nuxeo.ecm.liveconnect.scheduler",
          "requirements": [],
          "resolutionOrder": 225,
          "services": [],
          "startOrder": 227,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.scheduler\">\n\n  <extension target=\"org.nuxeo.ecm.core.scheduler.SchedulerService\"\n    point=\"schedule\">\n    <schedule id=\"blobProviderDocumentUpdate\">\n      <event>blobProviderDocumentUpdateEvent</event>\n      <!-- cleanup every 30 sec  -->\n      <!-- cronExpression>0/30 * * * * ?</cronExpression-->\n      <!-- every day at 11.59 PM -->\n      <cronExpression>0 0/5 * * * ?</cronExpression>\n    </schedule>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n    <listener name=\"blobProviderDocumentUpdate\"\n      class=\"org.nuxeo.ecm.liveconnect.update.listener.BlobProviderDocumentsUpdateListener\">\n      <event>blobProviderDocumentUpdateEvent</event>\n    </listener>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/liveconnect-scheduler-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.work.service--queues",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.workmanager/Contributions/org.nuxeo.ecm.liveconnect.workmanager--queues",
              "id": "org.nuxeo.ecm.liveconnect.workmanager--queues",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.work.service",
                "name": "org.nuxeo.ecm.core.work.service",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"blobProviderDocumentUpdate\">\n      <maxThreads>2</maxThreads>\n      <category>blobProviderDocumentsUpdate</category>\n    </queue>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.workmanager",
          "name": "org.nuxeo.ecm.liveconnect.workmanager",
          "requirements": [],
          "resolutionOrder": 226,
          "services": [],
          "startOrder": 228,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.workmanager\">\n\n  <extension target=\"org.nuxeo.ecm.core.work.service\" point=\"queues\">\n    <queue id=\"blobProviderDocumentUpdate\">\n      <maxThreads>2</maxThreads>\n      <category>blobProviderDocumentsUpdate</category>\n    </queue>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/liveconnect-workmanager-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.cache/Contributions/org.nuxeo.ecm.liveconnect.box.core.cache--caches",
              "id": "org.nuxeo.ecm.liveconnect.box.core.cache--caches",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n\n    <cache name=\"box\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>60</ttl>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.cache",
          "name": "org.nuxeo.ecm.liveconnect.box.core.cache",
          "requirements": [],
          "resolutionOrder": 227,
          "services": [],
          "startOrder": 219,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.box.core.cache\">\n\n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\" point=\"caches\">\n\n    <cache name=\"box\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>60</ttl>\n    </cache>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/liveconnect-box-cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.query.api.PageProviderService--providers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.pageprovider/Contributions/org.nuxeo.ecm.liveconnect.box.core.pageprovider--providers",
              "id": "org.nuxeo.ecm.liveconnect.box.core.pageprovider--providers",
              "registrationOrder": 7,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.query.api.PageProviderService",
                "name": "org.nuxeo.ecm.platform.query.api.PageProviderService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"providers\" target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\">\n\n    <coreQueryPageProvider name=\"box_document_to_be_updated\">\n      <property name=\"maxResults\">PAGE_SIZE</property>\n      <pattern>\n       SELECT * FROM Document WHERE content/data LIKE 'box:%' AND ecm:isVersion = 0\n      </pattern>\n      <sort ascending=\"true\" column=\"ecm:uuid\"/>\n      <pageSize>50</pageSize>\n    </coreQueryPageProvider>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.pageprovider",
          "name": "org.nuxeo.ecm.liveconnect.box.core.pageprovider",
          "requirements": [],
          "resolutionOrder": 228,
          "services": [],
          "startOrder": 220,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.box.core.pageprovider\">\n\n  <extension target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\"\n    point=\"providers\">\n\n    <coreQueryPageProvider name=\"box_document_to_be_updated\">\n      <property name=\"maxResults\">PAGE_SIZE</property>\n      <pattern>\n       SELECT * FROM Document WHERE content/data LIKE 'box:%' AND ecm:isVersion = 0\n      </pattern>\n      <sort column=\"ecm:uuid\" ascending=\"true\" />\n      <pageSize>50</pageSize>\n    </coreQueryPageProvider>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-box-pageprovider-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.cache/Contributions/org.nuxeo.ecm.liveconnect.google.drive.core.cache--caches",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.core.cache--caches",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n\n    <cache name=\"googleDrive\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>60</ttl>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.cache",
          "name": "org.nuxeo.ecm.liveconnect.google.drive.core.cache",
          "requirements": [],
          "resolutionOrder": 229,
          "services": [],
          "startOrder": 223,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.google.drive.core.cache\">\n\n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\" point=\"caches\">\n\n    <cache name=\"googleDrive\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>60</ttl>\n    </cache>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-googledrive-cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.convert.service.ConversionServiceImpl--converter",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.converters/Contributions/org.nuxeo.ecm.liveconnect.google.drive.core.converters--converter",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.core.converters--converter",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.convert.service.ConversionServiceImpl",
                "name": "org.nuxeo.ecm.core.convert.service.ConversionServiceImpl",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"converter\" target=\"org.nuxeo.ecm.core.convert.service.ConversionServiceImpl\">\n\n    <!-- PDF converter for Google Drive native files -->\n    <converter class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\" name=\"googlePDFExport\">\n      <sourceMimeType>application/vnd.google-apps</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.presentation</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.spreadsheet</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.drawing</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.form</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.fusiontable</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.photo</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.script</sourceMimeType>\n      <destinationMimeType>application/pdf</destinationMimeType>\n    </converter>\n\n    <!-- Text converter for files supporting text export -->\n    <converter class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\" name=\"googleTextExport\">\n      <destinationMimeType>text/plain</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.presentation</sourceMimeType>\n    </converter>\n\n    <!-- Text converter for files without a plain text export -->\n    <converter name=\"google2text\">\n      <destinationMimeType>text/plain</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.spreadsheet</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.drawing</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.form</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.fusiontable</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.photo</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.script</sourceMimeType>\n      <conversionSteps>\n        <subconverter>googlePDFExport</subconverter>\n        <subconverter>pdf2text</subconverter>\n      </conversionSteps>\n    </converter>\n\n    <!-- HTML converter for files supporting HTML export -->\n    <converter class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\" name=\"googleHtmlExport\">\n      <destinationMimeType>text/html</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n    </converter>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.converters",
          "name": "org.nuxeo.ecm.liveconnect.google.drive.core.converters",
          "requirements": [
            "org.nuxeo.ecm.core.convert.plugins"
          ],
          "resolutionOrder": 230,
          "services": [],
          "startOrder": 224,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.google.drive.core.converters\">\n  <require>org.nuxeo.ecm.core.convert.plugins</require>\n\n  <extension target=\"org.nuxeo.ecm.core.convert.service.ConversionServiceImpl\"\n             point=\"converter\">\n\n    <!-- PDF converter for Google Drive native files -->\n    <converter name=\"googlePDFExport\" class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\">\n      <sourceMimeType>application/vnd.google-apps</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.presentation</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.spreadsheet</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.drawing</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.form</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.fusiontable</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.photo</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.script</sourceMimeType>\n      <destinationMimeType>application/pdf</destinationMimeType>\n    </converter>\n\n    <!-- Text converter for files supporting text export -->\n    <converter name=\"googleTextExport\" class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\">\n      <destinationMimeType>text/plain</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.presentation</sourceMimeType>\n    </converter>\n\n    <!-- Text converter for files without a plain text export -->\n    <converter name=\"google2text\">\n      <destinationMimeType>text/plain</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.spreadsheet</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.drawing</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.form</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.fusiontable</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.photo</sourceMimeType>\n      <sourceMimeType>application/vnd.google-apps.script</sourceMimeType>\n      <conversionSteps>\n        <subconverter>googlePDFExport</subconverter>\n        <subconverter>pdf2text</subconverter>\n      </conversionSteps>\n    </converter>\n\n    <!-- HTML converter for files supporting HTML export -->\n    <converter name=\"googleHtmlExport\" class=\"org.nuxeo.ecm.liveconnect.google.drive.converter.GoogleDriveBlobConverter\">\n      <destinationMimeType>text/html</destinationMimeType>\n      <sourceMimeType>application/vnd.google-apps.document</sourceMimeType>\n    </converter>\n  </extension>\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-googledrive-convert-service-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService--mimetype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.mimetypes/Contributions/org.nuxeo.ecm.liveconnect.google.drive.mimetypes--mimetype",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.mimetypes--mimetype",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService",
                "name": "org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"mimetype\" target=\"org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService\">\n\n    <!-- https://developers.google.com/drive/web/mime-types -->\n    <mimetype binary=\"false\" iconPath=\"google_drive.png\" normalized=\"application/vnd.google-apps\">\n      <mimetypes>\n        <mimetype>application/vnd.google-apps.document</mimetype>\n        <mimetype>application/vnd.google-apps.audio</mimetype>\n        <mimetype>application/vnd.google-apps.file</mimetype>\n        <mimetype>application/vnd.google-apps.folder</mimetype>\n        <mimetype>application/vnd.google-apps.form</mimetype>\n        <mimetype>application/vnd.google-apps.fusiontable</mimetype>\n        <mimetype>application/vnd.google-apps.photo</mimetype>\n        <mimetype>application/vnd.google-apps.presentation</mimetype>\n        <mimetype>application/vnd.google-apps.script</mimetype>\n        <mimetype>application/vnd.google-apps.sites</mimetype>\n        <mimetype>application/vnd.google-apps.spreadsheet</mimetype>\n        <mimetype>application/vnd.google-apps.unknown</mimetype>\n        <mimetype>application/vnd.google-apps.video</mimetype>\n      </mimetypes>\n    </mimetype>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.mimetypes",
          "name": "org.nuxeo.ecm.liveconnect.google.drive.mimetypes",
          "requirements": [],
          "resolutionOrder": 231,
          "services": [],
          "startOrder": 226,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.google.drive.mimetypes\">\n  <extension\n          target=\"org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService\"\n          point=\"mimetype\">\n\n    <!-- https://developers.google.com/drive/web/mime-types -->\n    <mimetype normalized=\"application/vnd.google-apps\" binary=\"false\" iconPath=\"google_drive.png\">\n      <mimetypes>\n        <mimetype>application/vnd.google-apps.document</mimetype>\n        <mimetype>application/vnd.google-apps.audio</mimetype>\n        <mimetype>application/vnd.google-apps.file</mimetype>\n        <mimetype>application/vnd.google-apps.folder</mimetype>\n        <mimetype>application/vnd.google-apps.form</mimetype>\n        <mimetype>application/vnd.google-apps.fusiontable</mimetype>\n        <mimetype>application/vnd.google-apps.photo</mimetype>\n        <mimetype>application/vnd.google-apps.presentation</mimetype>\n        <mimetype>application/vnd.google-apps.script</mimetype>\n        <mimetype>application/vnd.google-apps.sites</mimetype>\n        <mimetype>application/vnd.google-apps.spreadsheet</mimetype>\n        <mimetype>application/vnd.google-apps.unknown</mimetype>\n        <mimetype>application/vnd.google-apps.video</mimetype>\n      </mimetypes>\n    </mimetype>\n\n  </extension>\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-googledrive-mimetype-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.query.api.PageProviderService--providers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider/Contributions/org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider--providers",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider--providers",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.query.api.PageProviderService",
                "name": "org.nuxeo.ecm.platform.query.api.PageProviderService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"providers\" target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\">\n\n    <coreQueryPageProvider name=\"googledrive_document_to_be_updated\">\n      <property name=\"maxResults\">PAGE_SIZE</property>\n      <pattern>\n       SELECT * FROM Document WHERE content/data LIKE 'googledrive:%' AND ecm:isVersion = 0\n      </pattern>\n      <sort ascending=\"true\" column=\"ecm:uuid\"/>\n      <pageSize>50</pageSize>\n    </coreQueryPageProvider>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider",
          "name": "org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider",
          "requirements": [],
          "resolutionOrder": 232,
          "services": [],
          "startOrder": 225,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.google.drive.core.pageprovider\">\n\n  <extension target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\"\n    point=\"providers\">\n\n    <coreQueryPageProvider name=\"googledrive_document_to_be_updated\">\n      <property name=\"maxResults\">PAGE_SIZE</property>\n      <pattern>\n       SELECT * FROM Document WHERE content/data LIKE 'googledrive:%' AND ecm:isVersion = 0\n      </pattern>\n      <sort column=\"ecm:uuid\" ascending=\"true\" />\n      <pageSize>50</pageSize>\n    </coreQueryPageProvider>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/liveconnect-googledrive-pageprovider-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Management of Google Drive configuration.\n  \n",
          "documentationHtml": "<p>\nManagement of Google Drive configuration.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry--providers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent/Contributions/org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent--providers",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent--providers",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
                "name": "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"providers\" target=\"org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry\">\n    <provider>\n      <name>googledrive</name>\n      <description>Google Drive</description>\n      <class>org.nuxeo.ecm.liveconnect.google.drive.GoogleOAuth2ServiceProvider</class>\n      <tokenServerURL>https://accounts.google.com/o/oauth2/token</tokenServerURL>\n      <authorizationServerURL>https://accounts.google.com/o/oauth2/auth?access_type=offline&amp;approval_prompt=force</authorizationServerURL>\n      <scope>https://www.googleapis.com/auth/drive</scope>\n      <scope>https://www.googleapis.com/auth/drive.apps.readonly</scope>\n      <scope>email</scope>\n      <clientId/>\n    </provider>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent/Contributions/org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent--configuration",
              "id": "org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent--configuration",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.blob.BlobManager",
                "name": "org.nuxeo.ecm.core.blob.BlobManager",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.ecm.core.blob.BlobManager\">\n    <blobprovider name=\"googledrive\">\n      <class>org.nuxeo.ecm.liveconnect.google.drive.GoogleDriveBlobProvider</class>\n      <property name=\"serviceAccountId\"/>\n      <property name=\"serviceAccountP12Path\"/>\n      <property name=\"clientId\"/>\n    </blobprovider>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent",
          "name": "org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent",
          "requirements": [
            "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
            "org.nuxeo.ecm.core.blob.BlobManager"
          ],
          "resolutionOrder": 435,
          "services": [],
          "startOrder": 222,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.google.drive.core.GoogleDriveComponent\" version=\"1.0.0\">\n\n  <require>org.nuxeo.ecm.core.blob.BlobManager</require>\n  <require>org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry</require>\n\n  <documentation>\n    Management of Google Drive configuration.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry\" point=\"providers\">\n    <provider>\n      <name>googledrive</name>\n      <description>Google Drive</description>\n      <class>org.nuxeo.ecm.liveconnect.google.drive.GoogleOAuth2ServiceProvider</class>\n      <tokenServerURL>https://accounts.google.com/o/oauth2/token</tokenServerURL>\n      <authorizationServerURL>https://accounts.google.com/o/oauth2/auth?access_type=offline&amp;approval_prompt=force</authorizationServerURL>\n      <scope>https://www.googleapis.com/auth/drive</scope>\n      <scope>https://www.googleapis.com/auth/drive.apps.readonly</scope>\n      <scope>email</scope>\n      <clientId>${nuxeo.google.clientId:=}</clientId>\n    </provider>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.blob.BlobManager\" point=\"configuration\">\n    <blobprovider name=\"googledrive\">\n      <class>org.nuxeo.ecm.liveconnect.google.drive.GoogleDriveBlobProvider</class>\n      <property name=\"serviceAccountId\">${nuxeo.google.serviceAccountId:=}</property>\n      <property name=\"serviceAccountP12Path\">${nuxeo.google.serviceAccountP12Path:=}</property>\n      <property name=\"clientId\">${nuxeo.google.clientId:=}</property>\n    </blobprovider>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/liveconnect-googledrive-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Management of Box configuration.\n  \n",
          "documentationHtml": "<p>\nManagement of Box configuration.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry--providers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.BoxComponent/Contributions/org.nuxeo.ecm.liveconnect.box.core.BoxComponent--providers",
              "id": "org.nuxeo.ecm.liveconnect.box.core.BoxComponent--providers",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
                "name": "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"providers\" target=\"org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry\">\n    <provider>\n      <name>box</name>\n      <description>Box</description>\n      <class>org.nuxeo.ecm.liveconnect.box.BoxOAuth2ServiceProvider</class>\n      <tokenServerURL>https://app.box.com/api/oauth2/token</tokenServerURL>\n      <authorizationServerURL>https://app.box.com/api/oauth2/authorize?response_type=code</authorizationServerURL>\n      <clientId/>\n    </provider>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.BoxComponent/Contributions/org.nuxeo.ecm.liveconnect.box.core.BoxComponent--configuration",
              "id": "org.nuxeo.ecm.liveconnect.box.core.BoxComponent--configuration",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.blob.BlobManager",
                "name": "org.nuxeo.ecm.core.blob.BlobManager",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.ecm.core.blob.BlobManager\">\n    <blobprovider name=\"box\">\n      <class>org.nuxeo.ecm.liveconnect.box.BoxBlobProvider</class>\n      <property name=\"clientId\"/>\n    </blobprovider>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect.box.core.BoxComponent",
          "name": "org.nuxeo.ecm.liveconnect.box.core.BoxComponent",
          "requirements": [
            "org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry",
            "org.nuxeo.ecm.core.blob.BlobManager"
          ],
          "resolutionOrder": 436,
          "services": [],
          "startOrder": 218,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.liveconnect.box.core.BoxComponent\" version=\"1.0.0\">\n\n  <require>org.nuxeo.ecm.core.blob.BlobManager</require>\n  <require>org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry</require>\n\n  <documentation>\n    Management of Box configuration.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.oauth2.providers.OAuth2ServiceProviderRegistry\" point=\"providers\">\n    <provider>\n      <name>box</name>\n      <description>Box</description>\n      <class>org.nuxeo.ecm.liveconnect.box.BoxOAuth2ServiceProvider</class>\n      <tokenServerURL>https://app.box.com/api/oauth2/token</tokenServerURL>\n      <authorizationServerURL>https://app.box.com/api/oauth2/authorize?response_type=code</authorizationServerURL>\n      <clientId>${nuxeo.box.clientId:=}</clientId>\n    </provider>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.blob.BlobManager\" point=\"configuration\">\n    <blobprovider name=\"box\">\n      <class>org.nuxeo.ecm.liveconnect.box.BoxBlobProvider</class>\n      <property name=\"clientId\">${nuxeo.box.clientId:=}</property>\n    </blobprovider>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/liveconnect-box-config.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-liveconnect-2021.58.6.jar",
      "groupId": "org.nuxeo.ecm.liveconnect",
      "hierarchyPath": "/grp:org.nuxeo.ecm.liveconnect/org.nuxeo.ecm.liveconnect",
      "id": "org.nuxeo.ecm.liveconnect",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.23\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nBundle-Name: Nuxeo Live Connect\r\nBundle-SymbolicName: org.nuxeo.ecm.liveconnect;singleton:=true\r\nNuxeo-Component: OSGI-INF/liveconnect-core-types-contrib.xml,OSGI-INF/\r\n liveconnect-scheduler-contrib.xml,OSGI-INF/liveconnect-workmanager-co\r\n ntrib.xml,OSGI-INF/liveconnect-box-cache-config.xml,OSGI-INF/liveconn\r\n ect-box-config.xml,OSGI-INF/liveconnect-box-pageprovider-contrib.xml,\r\n OSGI-INF/liveconnect-googledrive-cache-config.xml,OSGI-INF/liveconnec\r\n t-googledrive-config.xml,OSGI-INF/liveconnect-googledrive-convert-ser\r\n vice-contrib.xml,OSGI-INF/liveconnect-googledrive-mimetype-contrib.xm\r\n l,OSGI-INF/liveconnect-googledrive-pageprovider-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 436,
      "minResolutionOrder": 224,
      "packages": [
        "nuxeo-liveconnect"
      ],
      "requirements": [],
      "version": "2021.58.6"
    }
  ],
  "creationDate": 1723459723568,
  "key": "Nuxeo Platform-2021.58",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.ecm.liveconnect"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/nuxeo-liveconnect-2021.58.6",
      "id": "nuxeo-liveconnect-2021.58.6",
      "name": "nuxeo-liveconnect",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo Live Connect",
      "version": "2021.58.6"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1723459723568,
  "version": "2021.58"
}